
package com.example.oppo

import java.util.concurrent.PriorityBlockingQueue

class Test {
    /**
     * 滑动时 不管zkData是不是已经存在于 zipPath, 只要任务池中没有，都得加入任务池，断点续传。。。
     * 如果存在unzippath则说明是个完整的 不需要重新下载。
     * 综合就是如果没有unzippath并且tasklist中也没有，就得加入
     *
     * 遗留问题，cache有没有做大小限制。。。 如果服务端对应的zkdata换了资源，本地也有unzip包怎么更新，。。其它
     *
     * 解决方案，不管本地有没有缓存，都放入请求池，请求服务端资源大小，如果和本地相等，
     *
     * 如果不等则删除缓存，从新开始 ，不等也有可能是zip没下完，
     *
     * 目前的解决方法是不用断点续传。。。。。
     * 存在问题1: 写入一半，进程杀掉了怎么办。 可以服务端带过来资源大小信息。。。 1------Md5校验完整性
     * 问题2：解压一半 进程杀掉了。暂时无解。。。 可以下载时不解压，2------把解压留到渲染时。。。或者加入到zktask
     * 2.1 如果没有zipfile则加入到zktask
     * 2.2如果有 也加入zktask， 跳过下载做解压。。。。
     *
     * 得确定服务端不会发生同名但替换了资源的情况。。。。
     *
     * 简化逻辑，不用断点续传，失败则清空所有缓存，
     *
     * 最优：md5检查zip文件 解压缩放在addView一步做。。。
     *
     *
     */
    var priorityBlockingQueue: PriorityBlockingQueue<Runnable> = object : PriorityBlockingQueue<Runnable>(10) {
        override fun offer(o: Runnable): Boolean {
            return if (super.size < 10) super.offer(o) else false
        }
    }
}